package com.sxwl.utils;

import com.sxwl.constant.CommonConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author reading
 * @Description TODO
 * @Date 2020/3/8 0:35
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public class JsonData {
    private String msg;
    private boolean ret;
    private int status;
    private Object data;
    public static  JsonData success(){
        JsonData jsonData=new JsonData();
        jsonData.msg= CommonConstant.SUCCESS;
        jsonData.ret=true;
        return  jsonData;
    }
    public static  JsonData success(Object data){
        JsonData jsonData=new JsonData();
        jsonData.msg= CommonConstant.SUCCESS;
        jsonData.ret=true;
        jsonData.data=data;
        return  jsonData;
    }

    public static  JsonData success(Object data, String msg){
        JsonData jsonData=new JsonData();
        jsonData.msg=msg;
        jsonData.data=data;
        return  jsonData;
    }

    public static  JsonData fail(){
        JsonData jsonData=new JsonData();
        jsonData.msg= CommonConstant.ERROR;
        jsonData.ret=false;
        return  jsonData;
    }
    public static  JsonData fail(String msg){
        JsonData jsonData=new JsonData();
        jsonData.msg=msg;
        jsonData.setRet(false);
        return  jsonData;
    }
    public static JsonData result(Boolean state){
        JsonData jsonData=new JsonData();
        if(state){
            jsonData.ret=true;
            jsonData.msg= CommonConstant.SUCCESS;
            jsonData.status= CommonConstant.SUCCESS_STATE;
        }else{
            jsonData.ret=false;
            jsonData.msg= CommonConstant.ERROR;
            jsonData.status= CommonConstant.ERROR_STATE;
        }
        return  jsonData;
    }
}
